<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

</body>
<script>
  var arr = [51, 74, 38, 27, 66, 90];  // => [27,38,51,66,74,90] 

  // 冒泡排序 (从小到大)
  // 相邻的的两个数作比较, 如果前一个数比后一个数大 ,交换两个数的位置

  // 第一轮  [51, 74, 38, 27, 66, 90]
  // 51 74  [51, 74, 38, 27, 66, 90]
  // 74 38  [51, 38, 74, 27, 66, 90]
  // 74 27  [51, 38, 27, 74, 66, 90]
  // 74 66  [51, 38, 27, 66, 74, 90]
  // 74 90  [51, 38, 27, 66, 74, 90]
  // 第一轮结束:  得到最大值 放在最后的位置

  // debugger;
  for (var j = 0; j < arr.length - 1; j++) {
    // j  当前值对应的下标
    // j+1 后一个值对应的下标
    if (arr[j] > arr[j + 1]) {
      var temp = arr[j];
      arr[j] = arr[j + 1];
      arr[j + 1] = temp;
    }
  }
  console.log(arr);

  // 第二轮 [51, 38, 27, 66, 74, 90] 第一轮的基础上
  // 51, 38   [38, 51, 27, 66, 74, 90]
  // 51, 27   [38, 27, 51, 66, 74, 90]
  // 51, 66   [38, 27, 51, 66, 74, 90]
  // 66, 74   [38, 27, 51, 66, 74, 90]
  // 74, 90   [38, 27, 51, 66, 74, 90]   //多余 一次
  // 第二轮结束:  得到第二大值 放在倒数第二的位置
  for (var j = 0; j < arr.length - 1; j++) {
    // j  当前值对应的下标
    // j+1 后一个值对应的下标
    if (arr[j] > arr[j + 1]) {
      var temp = arr[j];
      arr[j] = arr[j + 1];
      arr[j + 1] = temp;
    }
  }
  console.log(arr);

  // 第三轮 [38, 27, 51, 66, 74, 90]  第二轮的基础上
  // 38, 27  [27, 38, 51, 66, 74, 90] 
  // 38, 51  [27, 38, 51, 66, 74, 90] 
  // 51, 66  [27, 38, 51, 66, 74, 90] 
  // 66, 74  [27, 38, 51, 66, 74, 90]   // 多余
  // 74, 90  [27, 38, 51, 66, 74, 90]   // 多余
  // 第三轮结束:  得到第三大值 放在倒数第三的位置

  for (var j = 0; j < arr.length - 1; j++) {
    // j  当前值对应的下标
    // j+1 后一个值对应的下标
    if (arr[j] > arr[j + 1]) {
      var temp = arr[j];
      arr[j] = arr[j + 1];
      arr[j + 1] = temp;
    }
  }
  console.log(arr);




</script>

</html>